package com.warren.system.service;

import com.warren.response.Result;
import com.warren.system.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.warren.system.entity.User;
import com.warren.system.vo.RoleVO;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author warren
 * @since 2021-03-21
 */
public interface RoleService extends IService<Role> {

    /**
     * 通过角色id查询角色拥有的菜单权限id
     * @param id
     * @return
     */
    List<Long> findMenuIdsByRoleId(Long id);

    /**
     * 权限列表
     * @param id
     * @param mids
     */
    void authority(Long id,Long[] mids);

    /**
     * 更新角色
     * @param role
     */
    void updateStatus(Role role);

    /**
     * 删除角色
     * @param id
     */
    Result delRole(Long id);

    /**
     * 导出角色到excel上
     * @param response
     * @param roles
     */
    void exportRoleExcel(HttpServletResponse response, List<Role> roles) throws IOException;
}
